home *** CD-ROM | disk | FTP | other *** search
/ Revista CD Expert 37 / CD Expert nº 37.iso / LastCall / lastcall.exe / stuff / lastcall.dxr / 00003_BAR UI behavior.ls < prev    next >
Encoding:
Text File  |  2000-03-27  |  3.4 KB  |  134 lines

  1. property pAction, pActiveOnly, pSupressRoll, pOrigMember, pHighMember, pSpr, pSound, pTimer, pSmiley, pFrown, pSober, pBuzzed, pBlotto, pPassOut
  2.  
  3. on mouseUp me
  4.   if the doubleClick then
  5.     exit
  6.   end if
  7.   stopManagerVO()
  8.   pSpr.member = pOrigMember
  9.   if inBonusMode() and (pAction = #toughLove) then
  10.     repeat with X in [9, 11, 13]
  11.       sendSprite(X, pAction)
  12.     end repeat
  13.   else
  14.     sendCharacter(pAction, pSound, pActiveOnly)
  15.   end if
  16. end
  17.  
  18. on mouseDown me
  19.   if inBonusMode() then
  20.     case pAction of
  21.       #toughLove:
  22.       otherwise:
  23.         alertBeep()
  24.     end case
  25.   end if
  26.   replaceDraggingAnything()
  27.   if the doubleClick then
  28.     exit
  29.   end if
  30.   pSupressRoll = 1
  31. end
  32.  
  33. on getPropertyDescriptionList me
  34.   return [#pAction: [#default: #card, #comment: "Action", #format: #symbol, #range: [#dance, #card, #charm, #order, #serve, #drinkTicket, #recipes, #toughLove, #slots]], #pActiveOnly: [#default: 1, #comment: "Send to active character only?", #format: #boolean], #pSound: [#default: EMPTY, #comment: "Sound", #format: #sound]]
  35. end
  36.  
  37. on beginSprite me
  38.   pSpr = sprite(me.spriteNum)
  39.   pOrigMember = pSpr.member
  40.   pHighMember = nextMember(pOrigMember)
  41.   if pAction = #charm then
  42.     pSmiley = nextMember(pOrigMember, 2)
  43.     pFrown = nextMember(pOrigMember, 3)
  44.     pSober = nextMember(pOrigMember, 4)
  45.     pBuzzed = nextMember(pOrigMember, 5)
  46.     pBlotto = nextMember(pOrigMember, 6)
  47.     pPassOut = nextMember(pOrigMember, 7)
  48.   end if
  49.   if inMixingMode() then
  50.     setCursor(pSpr, pointingHand())
  51.   else
  52.     case pAction of
  53.       #toughLove:
  54.         setCursor(pSpr, pointingHand())
  55.       otherwise:
  56.         setCursor(pSpr, noGood())
  57.     end case
  58.   end if
  59. end
  60.  
  61. on endSprite
  62.   setCursor(pSpr, defaultCursor())
  63. end
  64.  
  65. on mouseEnter me
  66.   rememberActiveBottle()
  67.   pSpr.member = pHighMember
  68.   if (pAction = #charm) and inMixingMode() then
  69.     Active = getActiveCharacter()
  70.     if the optionDown then
  71.       intoxication = sendSprite(Active, #getIntoxication)
  72.       charmPoints = sprite(Active).pCharmedPoints
  73.       if intoxication = #passedOut then
  74.         pSpr.member = pPassOut
  75.       else
  76.         if intoxication = #blotto then
  77.           pSpr.member = pBlotto
  78.         else
  79.           if intoxication = #buzzed then
  80.             pSpr.member = pBuzzed
  81.           else
  82.             if charmPoints > 0 then
  83.               pSpr.member = pSmiley
  84.             else
  85.               if charmPoints < 0 then
  86.                 pSpr.member = pFrown
  87.               else
  88.                 pSpr.member = pSober
  89.               end if
  90.             end if
  91.           end if
  92.         end if
  93.       end if
  94.     else
  95.       pSpr.member = pHighMember
  96.     end if
  97.   else
  98.     pSpr.member = pHighMember
  99.   end if
  100.   customToolTip(me)
  101.   pTimer = nowTicks()
  102. end
  103.  
  104. on customToolTip me, Force
  105.   global gToolTip, gPlayerDrinkTickets
  106.   if (pAction = #drinkTicket) and inMixingMode() then
  107.     ticketsLeft = sumGameLevels(#TIX) - gPlayerDrinkTickets
  108.     sendSprite(gToolTip, #mShowToolTip, pSpr, "Drink Tickets:" && ticketsLeft, getLaser(pAction))
  109.     showDrinkContents(pAction, VOID, VOID)
  110.     refreshHelpWindow(pAction)
  111.   else
  112.     if Force then
  113.       forceToolTip(pSpr, pAction)
  114.     else
  115.       showToolTip(pSpr, pAction)
  116.     end if
  117.   end if
  118. end
  119.  
  120. on mouseLeave me
  121.   restoreActiveBottle()
  122.   pSpr.member = pOrigMember
  123.   hideToolTip()
  124.   pSupressRoll = 0
  125. end
  126.  
  127. on mouseWithin me
  128.   if tipTickRange(pTimer) and not pSupressRoll then
  129.     customToolTip(me, 1)
  130.   else
  131.     dismissToolTip()
  132.   end if
  133. end
  134.